<template>
  <div>
    <!-- <van-tabs v-model="active" color="pink"> -->
    <van-tabs v-model="active" animated swipeable>
      <!-- 4. 基于变量中的数据&v-for指令进行频道的动态渲染 -->
      <van-tab
        v-for="channel in channels"
        :key="channel.id"
        :title="channel.name"
      >
        <aritlce-list :channel="channel"></aritlce-list>
      </van-tab>
    </van-tabs>
  </div>
</template>

<script>
import aritlceList from './components/aritlce-list'
import { getMyChannels } from '@/api/channel'

// 动态渲染频道列表
// 1. 封装一个调接口的函数
// 2. 封装一个方法，方法会调接口，拿到频道列表的数据，并且放到变量的身上
// 3. 在created钩子函数中调用该方法
// 4. 基于变量中的数据&v-for指令进行频道的动态渲染
export default {
  components: {
    aritlceList
  },
  name: 'Home',
  data () {
    return {
      active: 0,
      channels: [] // 放频道列表的变量
    }
  },
  created () {
    // 3. 在created钩子函数中调用该方法
    this.loadChannels()
  },
  methods: {
    // 2. 封装一个方法，方法会调接口，拿到频道列表的数据，并且放到变量的身上
    async loadChannels () {
      const res = await getMyChannels()
      this.channels = res.data.channels
    }
  }
}
</script>

<style lang="less" scoped>
/deep/ .van-tabs__wrap {
    position: fixed;
    z-index: 1;
    top: 0;
    width: 100vw;
}

/deep/ .van-tabs {
  .van-tab {
    border-right: 1px solid #edeff3;
    min-width: 200px;
    height: 80px;
    .van-tab__text {
      font-size: 27px;
      color: #777777;
    }
  }

  .van-tab--active .van-tab__text {
    color: #333 !important;
  }
  .van-tabs__line {
    width: 31px !important;
    height: 6px;
    background: rgba(50, 150, 250, 1);
    border-radius: 3px;
    bottom: 8px;
  }
  .van-tabs__nav {
    padding: 0;
  }
}
</style>
